package com.xinchao.service;

import com.xinchao.exception.ServiceException;
import com.xinchao.model.Advertisement;
import com.xinchao.model.page.PageInfo;
import com.xinchao.model.vo.AdvertisementListVO;

import java.util.List;

/**
 * @author dxy
 * @date 2018/9/18 18:28
 */
public interface AdvertisementService {

    /**
     * 获取广告列表
     *
     * @param advertiserName      广告主名称
     * @param advertisementName   广告名称
     * @param advertisementStatus 广告状态
     * @param sex                 性别
     * @param age                 年龄
     * @param pageNum             当前页
     * @param pageSize            每页条数
     * @return PageInfo<AdvertisementListDTO>
     */
    PageInfo<AdvertisementListVO> listAdvertisement(String advertiserName, String advertisementName, Integer advertisementStatus,
                                                    Integer sex, String age, Integer pageNum, Integer pageSize) throws ServiceException;

    /**
     * 通过广告名称获取广告
     *
     * @param advertisementName 广告名称
     * @return Advertisement
     */
    Advertisement getAdvertisementByAdvertisementName(String advertisementName) throws ServiceException;

    /**
     * 通过广告主ID获取广告编码
     * @param advertiserId 广告主ID
     * @return List<String>
     * @throws ServiceException
     */
    List<String> listAdvertisementCode(Long advertiserId) throws ServiceException;
}
